package com.lfs.adapter.service;

import com.lfs.interfaces.dto.ResultReturn;
import com.lfs.interfaces.model.dto.OrderCharge;
import com.lfs.interfaces.model.dto.OrderDto;
import com.lfs.interfaces.model.dto.OrderNotifyDto;
import com.lfs.interfaces.model.vo.AgtAccessVo;

import java.util.List;
import java.util.Map;

public interface GameOrderInfoService {

    /**
     * 查询后回写订单
     */
    Map<String, String> updateOrderAfterQuery(OrderDto dto);

    /**
     * 更改订单状态,不涉及退款处理
     *
     * @param dto
     * @return
     */
    Map<String, String> updateOrderState(OrderDto dto);

    /**
     * 发送回调
     */
    void sendNotify(OrderNotifyDto dto);

    ResultReturn<AgtAccessVo> getAgtAccessByAgtPhone(String agtPhone);

    void updateOrderAfterNotify(OrderDto orderDto);

    List<OrderCharge> getValidOrderForConfirmByBuscodeAndOrderNo(OrderCharge order);

    String getAgtnoByAgtPhone(String agtPhone);

    OrderDto getOrderInfo(String orderNo);

    int updateChannelStatus(String channelNum);

    List<Map<String, Object>> getAdapter(Map<String, Object> paramMap);

    int insertRechargeOrder(OrderCharge orderInfo);

    Map<String, Object> getIfExistOrder(String downOrderNo);

    Map<String, Object> getUpProductNo(long productCode, String upChannel);

}
